home *** CD-ROM | disk | FTP | other *** search
- # ARTemis の6×6ドット パターン文字列出力を
- # 文字フォントデータとしてputpict(pict.c) 用データに変換する
- #
- #static char pic_zero[] = {
- # 0xfe,5,6, COL_menuString, 0x30,0x68,0xc8,0xc8,0xc8,0x70, 0xff
- #};
-
- BEGIN {
- colmenu = sprintf("%04x", 19*1024 + 19*32 + 22)
- colmenu2 = sprintf("%04x", 24*1024 + 24*32 + 24)
- colwhite = sprintf("%04x", 31*1024 + 31*32 + 31)
- colblack = sprintf("%04x", 0)
- RS = ""
- FS = "[ \t\n]"
- patxlen = 6
- patylen = 6
- }
-
- {
- printf("/* record %d: %d fields */\n", NR, NF)
- printf("static char pic_XXXX[] = {\n");
- printf("\t0xfe,\n");
- xbytes = int((patxlen + 7) / 8)
- for (i=0; i<8; i++)
- bit[i] = 2 ^ (7-i);
- for (i=0; i<xbytes*12; i++)
- {
- black[i] = 0;
- }
- for (y=0; y<patylen; y++)
- {
- for (x=0; x<patxlen; x++)
- {
- field = $(1+patxlen*y+x)
- idx = xbytes * y + int(x/8)
- if (field == colwhite)
- {
- black[idx] += bit[x%8];
- }
- }
- }
- printf("\t%d,%d, Black,\n\t", patxlen,patylen);
- for (i=0; i<xbytes*patylen; i++)
- {
- printf("0x%02x,", black[i]);
- if ((i+1)%patxlen == 0) printf("\n\t");
- }
- printf("0xff\n};\n\n");
- }
-